package com.th.supcom.pds.recipefee.client.service;

import java.util.List;
import java.util.Map;

import net.carefx.framework.container.client.exception.UiException;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.th.supcom.pds.auditprescription.client.model.PdsPrescDetailCombineModel;
import com.th.supcom.pds.common.client.commom.PdsAuditPrescServiceFactory;
import com.th.supcom.pds.common.client.model.OfficeModel;
import com.th.supcom.pds.internal.client.model.ResultModel;
import com.th.supcom.pds.sortingdrug.client.model.PdsPrescDetailInfoModel;

/**
 * 收方收费服务接口.
 * 
 * @author 杨冲
 */
@RemoteServiceRelativePath (PdsAuditPrescServiceFactory.BASE_URL + "recipefee.do")
public interface RecipeFeeRpc extends RemoteService
{
    /** 公司版权信息. */
    public static final String copyright = "Copyright 2014, TH Supcom Corporation";
    /** 提交路径. */
    public static final String SCC_BRANCH = "$URL$";

    /** 提交日期. */
    public static final String SCC_LAST_MODIFICATION_DATE = "$Date$";
    /** 最终修改人员. */
    public static final String SCC_LAST_MODIFIER_NAME = "$Author$";

    /** 最终版本号. */
    public static final String SCC_REVISION = "$Revision$";

    /**
     * 得到药房执行科室
     * 
     * @return add by Zli
     */
    public List <OfficeModel> findExecuteOffice (PdsPrescDetailCombineModel pdsPrescDetailCombine) throws UiException;
   /**
    * 根据处方号得到处方明细
    * @param model
    * @return
    * @throws UiException
    * add by Zli
    */
    public List <PdsPrescDetailInfoModel> findPrescDetailInfoByPrescNo (PdsPrescDetailInfoModel model,String curretnDispensary)
                                                                                                      throws UiException;

    /**
     * 获取处方主记录以及患者信息
     * 
     * @return add by Zli
     * @throws UiException
     */
    public ResultModel getPrescByPrescNoOrCardNo (Map <String, Object> map) throws UiException;


    /**
     * 修改窗口号
     * 
     * @param prescList add by Zli
     * @throws UiException
     */
    public void modifyWindow (List <PdsPrescDetailInfoModel> prescList,String requestIp, Long window) throws UiException;

    /**
     * 数据持久化 保存数据
     * 
     * @param prescList add by Zli
     * @throws UiException
     */
    public Map <String, Object> confrimRecipe (List <PdsPrescDetailInfoModel> prescList,
                                 List <PdsPrescDetailInfoModel> prescdetailList, Map <String, Object> map)
                                                                                                          throws UiException;

    /**
     * 得到药房药品库存
     * 
     * @return add by Zli
     */
    public Integer verifyStock (String deptNo, String phamcode) throws UiException;

}